Sailfish: A flexible multi-GPU implementation of the lattice Boltzmann method

نویسندگان

  • M. Januszewski
  • M. Kostur
چکیده

We present Sailfish, an open source fluid simulation package implementing the lattice Boltzmann method (LBM) on modern Graphics Processing Units (GPUs) using CUDA/OpenCL. We take a novel approach to GPU code implementation and use run-time code generation techniques and a high level programming language (Python) to achieve state of the art performance, while allowing easy experimentation with different LBM models and tuning for various types of hardware. We discuss the general design principles of the code, scaling to multiple GPUs in a distributed environment, as well as the GPU implementation and optimization of many different LBM models, both single component (BGK, MRT, ELBM) and multicomponent (Shan-Chen, free energy). The paper also presents results of performance benchmarks spanning the last three NVIDIA GPU generations (Tesla, Fermi, Kepler), which we hope will be useful for researchers working with this type of hardware and similar codes.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementation of D3Q19 Lattice Boltzmann Method with a Curved Wall Boundary Condition for Simulation of Practical Flow Problems

In this paper, implementation of an extended form of a no-slip wall boundary condition is presented for the three-dimensional (3-D) lattice Boltzmann method (LBM) for solving the incompressible fluid flows with complex geometries. The boundary condition is based on the off-lattice scheme with a polynomial interpolation which is used to reconstruct the curved or irregular wall boundary on the ne...

متن کامل

A flexible Patch-based lattice Boltzmann parallelization approach for heterogeneous GPU-CPU clusters

Sustaining a large fraction of single GPU performance in parallel computations is considered to be the major problem of GPU-based clusters. In this article, this topic is addressed in the context of a lattice Boltzmann flow solver that is integrated in the WaLBerla software framework. We propose a multi-GPU implementation using a block-structured MPI parallelization, suitable for load balancing...

متن کامل

Evaluation of two lattice Boltzmann methods for fluid flow simulation in a stirred tank

In the present study, commonly used weakly compressible lattice Boltzmann method and Guo incompressible lattice Boltzmann method have been used to simulate fluid flow in a stirred tank. For this purpose a 3D Parallel code has been developed in the framework of the lattice Boltzmann method. This program has been used for simulation of flow at different geometries such as 2D channel fluid flow an...

متن کامل

Multi-GPU Implementation of a Hybrid Thermal Lattice Boltzmann Solver using the TheLMA Framework

In this contribution, a single-node multi-GPU thermal lattice Boltzmann solver is presented. The program is based on the TheLMA framework which was developed for the purpose. The chosen implementation and optimisation strategies are described, both for inter-GPU communication and for coupling with the thermal component of the model. Validation and performance results are provided as well.

متن کامل

Performance analysis of single-phase, multiphase, and multicomponent lattice-Boltzmann fluid flow simulations on GPU clusters

The lattice-Boltzmann method is well suited for implementation in single-instruction multiple-data (SIMD) environments provided by general purpose graphics processing units (GPGPUs). This paper discusses the integration of these GPGPU programs with OpenMP to create lattice-Boltzmann applications for multiGPU clusters. In addition to the standard single-phase single-component lattice-Boltzmann m...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Computer Physics Communications

دوره 185  شماره 

صفحات  -

تاریخ انتشار 2014